package demo3;
//演示抽象类的使用

//抽象类使用关键字abstract
abstract class Shape {

    //抽象方法，同样是abstract修饰
    public abstract void draw();
}

class Triangle extends Shape {
    //继承后子类要重写父类中的抽象方法
    @Override
    public void draw() {   //注意子类中的权限要大于等于父类中的权限
        System.out.println("画三角形！！！");
    }
}
class Rectangle extends Shape {

    @Override
    public void draw() {
        System.out.println("画矩形！！！");
    }
}

public class Test {
    public static void func(Shape s) {
        s.draw();
    }
    public static void main(String[] args) {
        func(new Triangle());
        Rectangle rectangle = new Rectangle();
        func(rectangle);
    }
}
